﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace GestorDeFlotasDesktop.ListadoEstadistico
{
    public partial class ListadoEstadistico : Form
    {
        public ListadoEstadistico()
        {
            InitializeComponent();
        }

        private void btnChoferes_Click(object sender, EventArgs e)
        {
            List<string> camposInvalidos = ChequearCamposObligatorios();
            if (!(camposInvalidos.Count > 0))
            {
                int mesFin = Convert.ToInt32(cboTrimestre.Text) * 3;

                MejoresChoferes.MejoresChoferes mejoresChoferes = new MejoresChoferes.MejoresChoferes(Convert.ToInt32(mtxAnio.Text), mesFin - 2, mesFin);
                mejoresChoferes.Show();
            }
            else
            {
                MostrarMensajeCamposObligatorios(camposInvalidos);
            }
        }

        private void btnAutos_Click(object sender, EventArgs e)
        {
            List<string> camposInvalidos = ChequearCamposObligatorios();
            if (!(camposInvalidos.Count > 0))
            {
                int mesFin = Convert.ToInt32(cboTrimestre.Text) * 3;

                MejoresAutos.MejoresAutos mejoresAutos = new MejoresAutos.MejoresAutos(Convert.ToInt32(mtxAnio.Text), mesFin - 2, mesFin);
                mejoresAutos.Show();
            }
            else
            {
                MostrarMensajeCamposObligatorios(camposInvalidos);
            }
        }

        private void btnClientes_Click(object sender, EventArgs e)
        {
            List<string> camposInvalidos = ChequearCamposObligatorios();
            if (!(camposInvalidos.Count > 0))
            {
                int mesFin = Convert.ToInt32(cboTrimestre.Text) * 3;

                MejoresClientes.MejoresClientes mejoresClientes = new MejoresClientes.MejoresClientes(Convert.ToInt32(mtxAnio.Text), mesFin - 2, mesFin);
                mejoresClientes.Show();
            }
            else
            {
                MostrarMensajeCamposObligatorios(camposInvalidos);
            }
        }

        private List<string> ChequearCamposObligatorios()
        {
            List<string> camposInvalidos = new List<string>();
            if (string.IsNullOrEmpty(this.mtxAnio.Text))
            {
                camposInvalidos.Add("Año");
            }

            if (string.IsNullOrEmpty(this.cboTrimestre.Text))
            {
                camposInvalidos.Add("Trimestre");
            }

            return camposInvalidos;
        }

        protected void MostrarMensajeCamposObligatorios(List<string> camposInvalidos)
        {
            MessageBox.Show(string.Format("Los siguientes campos son obligatorios:{0}{1}", Environment.NewLine,
                string.Join(string.Format(",{0}", Environment.NewLine), camposInvalidos.ToArray())),
                "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
        }
    }
}
